Back to Repo


## Setup, Load Libraries & Report Versions
knitr::opts_chunk$set(echo = TRUE)

## Load Libraries ------------------- 
## IMPORTANT!
## Please check the paths and files in the file "load_packages_and_functions.R" before running this!
## All .R files must be in the same folder, specified below in 'lib_folder'
lib_folder = "~/ad-omics/ricardo/MyRepo/structuralvariation/R_Library/"
source(paste0(lib_folder,"load_packages_and_functions.R"))

createDT <- function(DF, caption="", scrollY=500){
  data <- DT::datatable(DF, caption=caption,
    extensions = 'Buttons',
    class = "display",
    callback = JS("return table;"),
    filter = c("none", "bottom", "top"), 
    escape = TRUE,
    style = "default", width = NULL, height = NULL, elementId = NULL,
    fillContainer = getOption("DT.fillContainer", NULL),
    autoHideNavigation = getOption("DT.autoHideNavigation", NULL),
    selection = c("multiple", "single", "none"),
    plugins = NULL, editable = FALSE,
    options = list( dom = 'Bfrtip', 
                    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'), 
                    scrollY = scrollY, scrollX=T, scrollCollapse = T, paging = T,  
                    columnDefs = list(list(className = 'dt-center', targets = "_all"))
    )
  ) 
  return(data)
}

Selecting samples

Structural Variations (SVs) are increasingly recognized for their importance in genomics. Short-read sequencing is the most widely-used approach for genotyping large numbers of samples for SVs but suffers from relatively poor accuracy. SVCollector, is an open-source method that optimally selects samples to maximize variant discovery and validation using long read resequenc- ing or PCR-based validation.

SVCollector has two major ranking modes: topN, and greedy. For the topN mode, it picks samples with the largest number of SVs irrespective if the SVs are shared with other samples. For the greedy mode, it finds a set of samples that collectively contain the largest number of distinct variants. Solving this exactly is computationally intractable as it is a version of the well-known NP-hard set cover problem. Consequently, it uses a greedy approximation thatstarts with the sample with the largest number of variants, and then iteratively picks the sample containing the largest number variants not yet included in the set. It also has a random mode that mimics an arbitrary selection process, and is helpful for evaluating the diversity of the topN or greedy approaches. For each mode, SVCollector reports the rank, sample name, its unique contribution of SVs, the cumulative sum of SVs up to the chosen sample, and the cumulative percentage compared to the total number of SVs in the input VCF file.

root_dir = "~/ad-omics/ricardo/"
svcollector_path = paste0(root_dir,"MyApps/SVCollector/Debug/SVCollector")
svcollector_script = paste0(root_dir,"MyApps/SVCollector/SVCollector.sh")

work_dir = paste0(root_dir,"AMP_AD/LongReadsValidation.DEL.EUR/")
system(paste0("mkdir -p ", work_dir))

ROSMAP_path = paste0(root_dir,"ROSMAP/")
raw_merged_ROSMAP = paste0(ROSMAP_path,"03_MergedCalls/SURVIVOR/population/samples_merged_DEL.vcf")
vcf_ROSMAP = paste0(work_dir,"ROSMAP.vcf")

MSBB_path = paste0(root_dir,"MSinai/")
raw_merged_MSBB = paste0(MSBB_path,"03_MergedCalls/SURVIVOR/population/samples_merged_DEL.vcf")
vcf_MSBB = paste0(work_dir,"MSBB.vcf")
ROSMAP_Ancestry = read.csv(paste0(ROSMAP_path,"01_GeneticPC/pca.ancestry_prediction.csv"), header = T, stringsAsFactors = F, check.names = F, comment.char = "")
ROSMAP_Euro = ROSMAP_Ancestry[ROSMAP_Ancestry$EUR>0.95,]
ROSMAP_samples = system(paste0("ml bcftools; bcftools query -l ", ROSMAP_path, "05_MergedSamples/fromSMOOVE/samples_merged_DEL.Final.vcf.gz"), intern = T)
ROSMAP_samples_to_use = ROSMAP_Euro[ROSMAP_Euro$`#sample`%in%ROSMAP_samples,"#sample"]
sysout = system(paste0("ml bcftools; bcftools view --force-samples -s ", paste0(ROSMAP_samples_to_use, collapse = ","), " ", raw_merged_ROSMAP, " | bcftools sort -o ", vcf_ROSMAP), intern = T)

MSBB_Ancestry = read.csv(paste0(MSBB_path,"01_GeneticPC/pca.ancestry_prediction.csv"), header = T, stringsAsFactors = F, check.names = F, comment.char = "")
MSBB_Euro = MSBB_Ancestry[MSBB_Ancestry$EUR>0.95,]
MSBB_samples = system(paste0("ml bcftools; bcftools query -l ", MSBB_path, "05_MergedSamples/fromSMOOVE/samples_merged_DEL.Final.vcf.gz"), intern = T)
MSBB_samples_to_use = MSBB_Euro[MSBB_Euro$`#sample`%in%MSBB_samples,"#sample"]
sysout = system(paste0("ml bcftools; bcftools view --force-samples -s ", paste0(MSBB_samples_to_use, collapse = ","), " ", raw_merged_MSBB, " | bcftools sort -o ", vcf_MSBB), intern = T)

ROSMAP

num_samples = 100
cohort = "ROSMAP"
sysout = system(paste("ml parallel;",svcollector_script, vcf_ROSMAP, num_samples, work_dir), intern = T)
num_samples = 100
cohort = "ROSMAP"

mode = "greedy"
ROSMAP_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # Greedy
              vcf_ROSMAP, " ", # Input VCF file
              " -1 ", # Min allele count (-1 to disable)
              num_samples, # Number of samples to select
              " 0 ", # Take AF into account (1) or not (0) per allele
              ROSMAP_output # Output file
              ), intern = T)
ROSMAP_results_greedy = read.table(ROSMAP_output, sep="\t", header = T, check.names = F, comment.char = "")

mode = "topN"
ROSMAP_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # topN
              vcf_ROSMAP, " ", # Input VCF file
              num_samples, " ", # Number of samples to select
              ROSMAP_output # Output file
              ), intern = T)
ROSMAP_results_topN = read.table(ROSMAP_output, sep="\t", header = T, check.names = F, comment.char = "")

mode = "random"
ROSMAP_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # random
              vcf_ROSMAP, " ", # Input VCF file
              num_samples, " ", # Number of samples to select
              ROSMAP_output # Output file
              ), intern = T)
ROSMAP_results_random = read.table(ROSMAP_output, sep="\t", header = T, check.names = F, comment.char = "")

Greedy

cohort = "ROSMAP"
mode = "greedy"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_greedy = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "", col.names = c("Sample","numSV","cumsumSV","percSV")) 
createDT(SVCollector_results_greedy)

TopN

cohort = "ROSMAP"
mode = "topN"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_topN = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "", col.names = c("Sample","numSV","cumsumSV","percSV"))
createDT(SVCollector_results_topN)

Random

cohort = "ROSMAP"
mode = "random.1"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_random = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "",  col.names = c("Sample","numSV","cumsumSV","percSV"))
createDT(SVCollector_results_random)
SVCollector_results_greedy$mode = "greedy"
SVCollector_results_topN$mode = "topN"
SVCollector_results_random$mode = "random"
ROSMAP = rbind(SVCollector_results_greedy,
             SVCollector_results_topN,
             SVCollector_results_random)

MSBB

num_samples = 100
cohort = "MSBB"
sysout = system(paste("ml parallel;",svcollector_script, vcf_MSBB, num_samples, work_dir), intern = T)
num_samples = 100
cohort = "MSBB"

mode = "greedy"
MSBB_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # Greedy
              vcf_MSBB, # Input VCF file
              " -1 ", # Min allele count (-1 to disable)
              num_samples, # Number of samples to select
              " 0 ", # Take AF into account (1) or not (0) per allele
              MSBB_output # Output file
              ), intern = T)
MSBB_results_greedy = read.table(MSBB_output, sep="\t", header = T, check.names = F, comment.char = "")

mode = "topN"
MSBB_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # topN
              vcf_MSBB, " ", # Input VCF file
              num_samples, " ", # Number of samples to select
              MSBB_output # Output file
              ), intern = T)
MSBB_results_topN = read.table(MSBB_output, sep="\t", header = T, check.names = F, comment.char = "")

mode = "random"
MSBB_output = paste0(work_dir, cohort, "_", mode ,"_rank.txt")
sysout = system(paste0(svcollector_path, " ", mode ," ", # random
              vcf_MSBB, " ", # Input VCF file
              num_samples, " ", # Number of samples to select
              MSBB_output # Output file
              ), intern = T)
MSBB_results_random = read.table(MSBB_output, sep="\t", header = T, check.names = F, comment.char = "")

Greedy

cohort = "MSBB"
mode = "greedy"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_greedy = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "", col.names = c("Sample","numSV","cumsumSV","percSV")) 
createDT(SVCollector_results_greedy)

TopN

cohort = "MSBB"
mode = "topN"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_topN = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "", col.names = c("Sample","numSV","cumsumSV","percSV"))
createDT(SVCollector_results_topN)

Random

cohort = "MSBB"
mode = "random.1"
SVCollector_output = paste0(work_dir, cohort, ".vcf.", mode)
SVCollector_results_random = read.table(SVCollector_output, sep="\t", header = T, check.names = F, comment.char = "",  col.names = c("Sample","numSV","cumsumSV","percSV"))
createDT(SVCollector_results_random)
SVCollector_results_greedy$mode = "greedy"
SVCollector_results_topN$mode = "topN"
SVCollector_results_random$mode = "random"
MSBB = rbind(SVCollector_results_greedy,
             SVCollector_results_topN,
             SVCollector_results_random)

Selection evaluation

par(mfrow=c(1,2))
plot(x = 1:100, y=(1:100)/100, type="n", 
     main="MSBB", bty="L", xlab="Samples", ylab="Cumulative Fraction of SVs",
     xlim=c(0,101),ylim=c(0,1))
grid()
lines(x = 1:100, y=MSBB[MSBB$mode == "greedy","percSV"], type="l", lty = 1, lwd = 2, col = "#BB0021FF")
lines(x = 1:100, y=MSBB[MSBB$mode == "topN","percSV"], type="l", lty = 1, lwd = 2, col = "#3B4992FF")
lines(x = 1:100, y=MSBB[MSBB$mode == "random","percSV"], type="l", lty = 1, lwd = 2, col = "#808180FF")
abline(v=c(10), col=c("gray20"), lty=c(2), lwd=c(1))
minor.tick(nx=5, ny=2, tick.ratio=0.5)
legend(70, 0.30, legend=c("Greedy", "TopN", "Random"),  col=c("#BB0021FF", "#3B4992FF", "#808180FF"), lty = 1:1, lwd = 2, cex=0.7)

plot(x = 1:100, y=(1:100)/100, type="n", 
     main="ROSMAP", bty="L", xlab="Samples", ylab="Cumulative Fraction of SVs",
     xlim=c(0,101),ylim=c(0,1))
grid()
lines(x = 1:100, y=ROSMAP[ROSMAP$mode == "greedy","percSV"], type="l", lty = 1, lwd = 2, col = "#BB0021FF")
lines(x = 1:100, y=ROSMAP[ROSMAP$mode == "topN","percSV"], type="l", lty = 1, lwd = 2, col = "#3B4992FF")
lines(x = 1:100, y=ROSMAP[ROSMAP$mode == "random","percSV"], type="l", lty = 1, lwd = 2, col = "#808180FF")
abline(v=c(10), col=c("gray20"), lty=c(2), lwd=c(1))
minor.tick(nx=5, ny=2, tick.ratio=0.5)
legend(70, 0.30, legend=c("Greedy", "TopN", "Random"),  col=c("#BB0021FF", "#3B4992FF", "#808180FF"), lty = 1:1, lwd = 2, cex=0.7)

TOP 10

Choosing TOP 10 samples from “greedy” mode for each cohort and adding other metadata information.

ROSMAP

ROSMAP_metadata = read.table(paste0(ROSMAP_path,"Data/WGS_Metadata.txt"), header = T, stringsAsFactors = F, check.names = F)
ROSMAP_Ancestry = read.csv(paste0(ROSMAP_path,"01_GeneticPC/pca.ancestry_prediction.csv"), header = T, stringsAsFactors = F, check.names = F, comment.char = "")

top_ROSMAP = ROSMAP %>% filter(mode=="greedy") %>% top_n(10,-percSV)
top_ROSMAP$greedy_rank = match(top_ROSMAP$Sample, ROSMAP[ROSMAP$mode=="greedy","Sample"])
top_ROSMAP$topN_rank = match(top_ROSMAP$Sample, ROSMAP[ROSMAP$mode=="topN","Sample"])
top_ROSMAP$random_rank = match(top_ROSMAP$Sample, ROSMAP[ROSMAP$mode=="random","Sample"])
top_ROSMAP = inner_join(top_ROSMAP, ROSMAP_metadata, by=c("Sample" = "wgs_id"))
top_ROSMAP2 = inner_join(top_ROSMAP, ROSMAP_Ancestry, by=c("Sample" = "#sample"))
createDT(top_ROSMAP2)

MSBB

MSBB_metadata = read.table(paste0(MSBB_path,"Data/WGS_Metadata.txt"), header = T, stringsAsFactors = F, check.names = F)
MSBB_Ancestry = read.csv(paste0(MSBB_path,"01_GeneticPC/pca.ancestry_prediction.csv"), header = T, stringsAsFactors = F, check.names = F, comment.char = "")

top_MSBB = MSBB %>% filter(mode=="greedy") %>% top_n(10,-percSV)
top_MSBB$greedy_rank = match(top_MSBB$Sample, MSBB[MSBB$mode=="greedy","Sample"])
top_MSBB$topN_rank = match(top_MSBB$Sample, MSBB[MSBB$mode=="topN","Sample"])
top_MSBB$random_rank = match(top_MSBB$Sample, MSBB[MSBB$mode=="random","Sample"])
top_MSBB = inner_join(top_MSBB, MSBB_metadata, by=c("Sample" = "WGS"))
top_MSBB2 = inner_join(top_MSBB, MSBB_Ancestry, by=c("Sample" = "#sample"))
createDT(top_MSBB2)

Session info

sessionInfo()
## R version 3.5.3 (2019-03-11)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: CentOS Linux 7 (Core)
## 
## Matrix products: default
## BLAS/LAPACK: /hpc/packages/minerva-centos7/intel/parallel_studio_xe_2019/compilers_and_libraries_2019.0.117/linux/mkl/lib/intel64_lin/libmkl_gf_lp64.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
##  [1] splines   stats4    parallel  grid      stats     graphics  grDevices
##  [8] utils     datasets  methods   base     
## 
## other attached packages:
##   [1] RcppCNPy_0.2.10                        
##   [2] Matrix_1.2-17                          
##   [3] psycho_0.4.91                          
##   [4] cqn_1.28.1                             
##   [5] quantreg_5.38                          
##   [6] SparseM_1.77                           
##   [7] preprocessCore_1.44.0                  
##   [8] nor1mix_1.2-3                          
##   [9] mclust_5.4.3                           
##  [10] gdata_2.18.0                           
##  [11] zoo_1.8-5                              
##  [12] qqman_0.1.4                            
##  [13] gridExtra_2.3                          
##  [14] wesanderson_0.3.6                      
##  [15] ggrepel_0.8.1                          
##  [16] rlist_0.4.6.1                          
##  [17] ggupset_0.1.0                          
##  [18] ggbiplot_0.55                          
##  [19] boot_1.3-20                            
##  [20] wiggleplotr_1.6.1                      
##  [21] Gviz_1.26.5                            
##  [22] edgeR_3.24.3                           
##  [23] factoextra_1.0.5                       
##  [24] vroom_1.0.2                            
##  [25] forcats_0.4.0                          
##  [26] purrr_0.3.3                            
##  [27] readr_1.3.1                            
##  [28] tibble_2.1.3                           
##  [29] tidyverse_1.2.1                        
##  [30] compare_0.2-6                          
##  [31] superheat_0.1.0                        
##  [32] abind_1.4-5                            
##  [33] splitstackshape_1.4.8                  
##  [34] vcfR_1.8.0                             
##  [35] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2
##  [36] viridis_0.5.1                          
##  [37] viridisLite_0.3.0                      
##  [38] GenomicFeatures_1.34.8                 
##  [39] AnnotationDbi_1.44.0                   
##  [40] readxl_1.3.1                           
##  [41] ggsignif_0.5.0                         
##  [42] venn_1.7                               
##  [43] rtracklayer_1.42.2                     
##  [44] VennDiagram_1.6.20                     
##  [45] futile.logger_1.4.3                    
##  [46] UpSetR_1.4.0                           
##  [47] RColorBrewer_1.1-2                     
##  [48] matrixStats_0.54.0                     
##  [49] flextable_0.5.6                        
##  [50] ChIPseeker_1.18.0                      
##  [51] gtools_3.8.1                           
##  [52] peer_1.0                               
##  [53] ggfortify_0.4.6                        
##  [54] ggiraph_0.7.0                          
##  [55] tables_0.8.8                           
##  [56] Hmisc_4.2-0                            
##  [57] Formula_1.2-3                          
##  [58] survival_2.44-1.1                      
##  [59] lattice_0.20-38                        
##  [60] DT_0.6                                 
##  [61] kableExtra_1.1.0                       
##  [62] knitr_1.23                             
##  [63] reshape2_1.4.3                         
##  [64] ggsci_2.9                              
##  [65] ggpubr_0.2                             
##  [66] magrittr_1.5                           
##  [67] cowplot_0.9.4                          
##  [68] uuid_0.1-2                             
##  [69] TnT_1.4.0                              
##  [70] regioneR_1.14.0                        
##  [71] GenomicRanges_1.34.0                   
##  [72] GenomeInfoDb_1.18.2                    
##  [73] variancePartition_1.12.3               
##  [74] scales_1.0.0                           
##  [75] foreach_1.4.4                          
##  [76] limma_3.38.3                           
##  [77] ggplot2_3.2.1                          
##  [78] janitor_1.2.0                          
##  [79] plyr_1.8.4                             
##  [80] Biostrings_2.50.2                      
##  [81] XVector_0.22.0                         
##  [82] IRanges_2.16.0                         
##  [83] S4Vectors_0.20.1                       
##  [84] multtest_2.38.0                        
##  [85] Biobase_2.42.0                         
##  [86] BiocGenerics_0.28.0                    
##  [87] stargazer_5.2.2                        
##  [88] pander_0.6.3                           
##  [89] stringr_1.4.0                          
##  [90] dplyr_0.8.3                            
##  [91] tidyr_1.0.0                            
##  [92] data.table_1.12.2                      
##  [93] ggplotify_0.0.3                        
##  [94] sjPlot_2.8.1                           
##  [95] pacman_0.5.1                           
##  [96] seqUtils_0.0.0.9000                    
##  [97] bsselectR_0.1.0                        
##  [98] usethis_1.5.0                          
##  [99] devtools_2.0.2                         
## [100] rmarkdown_1.12                         
## 
## loaded via a namespace (and not attached):
##   [1] pbapply_1.4-0               haven_2.2.0                
##   [3] vctrs_0.2.1                 expm_0.999-4               
##   [5] mgcv_1.8-28                 blob_1.1.1                 
##   [7] later_1.0.0                 nloptr_1.2.1               
##   [9] DBI_1.0.0                   rstanarm_2.19.2            
##  [11] jpeg_0.1-8                  zlibbioc_1.28.0            
##  [13] MatrixModels_0.4-1          sjmisc_2.8.2               
##  [15] htmlwidgets_1.3             mvtnorm_1.0-10             
##  [17] future_1.13.0               inline_0.3.15              
##  [19] manipulate_1.0.1            pbkrtest_0.4-7             
##  [21] markdown_0.9                Rcpp_1.0.1                 
##  [23] KernSmooth_2.23-15          promises_1.1.0             
##  [25] DelayedArray_0.8.0          ggeffects_0.14.0           
##  [27] vegan_2.5-5                 pkgload_1.0.2              
##  [29] d3Network_0.5.2.1           fs_1.3.1                   
##  [31] fastmatch_1.1-0             mnormt_1.5-5               
##  [33] digest_0.6.19               png_0.1-7                  
##  [35] DOSE_3.8.2                  ggraph_1.0.2               
##  [37] pkgconfig_2.0.2             GO.db_3.7.0                
##  [39] gridBase_0.4-7              dygraphs_1.1.1.6           
##  [41] estimability_1.3            iterators_1.0.10           
##  [43] minqa_1.2.4                 lavaan_0.6-5               
##  [45] SummarizedExperiment_1.12.0 rstan_2.19.2               
##  [47] xfun_0.7                    tidyselect_0.2.5           
##  [49] performance_0.4.2           pkgbuild_1.0.3             
##  [51] rlang_0.4.0                 glue_1.3.1                 
##  [53] ensembldb_2.6.8             gdtools_0.2.1              
##  [55] modelr_0.1.5                lambda.r_1.2.3             
##  [57] emmeans_1.3.4               ggcorrplot_0.1.3           
##  [59] europepmc_0.3               bayestestR_0.4.0           
##  [61] threejs_0.3.1               httpuv_1.5.2               
##  [63] BDgraph_2.59                pinfsc50_1.1.0             
##  [65] TH.data_1.0-10              qgraph_1.6.2               
##  [67] corpcor_1.6.9               shinystan_2.5.0            
##  [69] DO.db_2.9                   webshot_0.5.1              
##  [71] jsonlite_1.6                mime_0.6                   
##  [73] bit_1.1-14                  systemfonts_0.1.1          
##  [75] gplots_3.0.1.1              Rsamtools_1.34.1           
##  [77] stringi_1.4.3               insight_0.7.1              
##  [79] processx_3.3.1              bitops_1.0-6               
##  [81] cli_1.1.0                   RSQLite_2.1.1              
##  [83] rsconnect_0.8.13            MuMIn_1.43.15              
##  [85] officer_0.3.6               rstudioapi_0.10            
##  [87] GenomicAlignments_1.18.1    nlme_3.1-137               
##  [89] qvalue_2.14.1               locfit_1.5-9.1             
##  [91] VariantAnnotation_1.28.13   listenv_0.7.0              
##  [93] miniUI_0.1.1.1              gridGraphics_0.4-1         
##  [95] sessioninfo_1.1.1           lifecycle_0.1.0            
##  [97] munsell_0.5.0               cellranger_1.1.0           
##  [99] caTools_1.17.1.2            codetools_0.2-16           
## [101] coda_0.19-2                 bayesplot_1.7.1            
## [103] htmlTable_1.13.1            triebeard_0.3.0            
## [105] rstantools_2.0.0            xtable_1.8-4               
## [107] formatR_1.6                 StanHeaders_2.19.0         
## [109] farver_1.1.0                biovizBase_1.30.1          
## [111] CompQuadForm_1.4.3          sjstats_0.17.7             
## [113] shinythemes_1.1.2           futile.options_1.0.1       
## [115] dichromat_2.0-0             cluster_2.0.7-1            
## [117] future.apply_1.2.0          zeallot_0.1.0              
## [119] prettyunits_1.0.2           lubridate_1.7.4            
## [121] ggridges_0.5.1              colorRamps_2.3             
## [123] igraph_1.2.4.1              fgsea_1.8.0                
## [125] sjlabelled_1.1.1            shinyjs_1.0                
## [127] remotes_2.0.4               lmerTest_3.1-0             
## [129] parameters_0.3.0            testthat_2.1.1             
## [131] htmltools_0.4.0             yaml_2.2.0                 
## [133] loo_2.1.0                   MCMCpack_1.4-4             
## [135] XML_3.98-1.19               foreign_0.8-71             
## [137] withr_2.1.2                 BiocParallel_1.16.6        
## [139] BayesFactor_0.9.12-4.2      bit64_0.9-7                
## [141] effectsize_0.0.1            multcomp_1.4-10            
## [143] ProtGenerics_1.14.0         GOSemSim_2.8.0             
## [145] memoise_1.1.0               evaluate_0.13              
## [147] nonnest2_0.5-2              ggm_2.3                    
## [149] permute_0.9-5               callr_3.2.0                
## [151] ps_1.3.0                    curl_3.3                   
## [153] fdrtool_1.2.15              urltools_1.7.3             
## [155] xts_0.11-2                  acepack_1.4.1              
## [157] checkmate_1.9.3             ppcor_1.1                  
## [159] blavaan_0.3-8               desc_1.2.0                 
## [161] nFactors_2.3.3.1            rjson_0.2.20               
## [163] rprojroot_1.3-2             tools_3.5.3                
## [165] sandwich_2.5-1              RCurl_1.95-4.12            
## [167] pbivnorm_0.6.0              ape_5.3                    
## [169] xml2_1.2.0                  httr_1.4.1                 
## [171] assertthat_0.2.1            globals_0.12.4             
## [173] R6_2.4.0                    AnnotationFilter_1.6.0     
## [175] nnet_7.3-12                 progress_1.2.2             
## [177] colorspace_1.4-1            generics_0.0.2             
## [179] base64enc_0.1-3             pillar_1.4.3               
## [181] tweenr_1.0.1                calibrate_1.7.2            
## [183] rvcheck_0.1.3               GenomeInfoDbData_1.2.0     
## [185] gtable_0.3.0                rvest_0.3.5                
## [187] zip_2.0.4                   colourpicker_1.0           
## [189] psych_1.8.12                latticeExtra_0.6-28        
## [191] biomaRt_2.38.0              crosstalk_1.0.0            
## [193] doParallel_1.0.14           broom_0.5.2                
## [195] huge_1.3.2                  BSgenome_1.50.0            
## [197] backports_1.1.4             plotrix_3.7-5              
## [199] lme4_1.1-21                 enrichplot_1.2.0           
## [201] mcmc_0.9-6                  hms_0.5.3                  
## [203] ggforce_0.2.2               shiny_1.3.2                
## [205] polyclip_1.10-0             numDeriv_2016.8-1          
## [207] glasso_1.10                 DescTools_0.99.28          
## [209] lazyeval_0.2.2              whisker_0.3-2              
## [211] crayon_1.3.4                MASS_7.3-51.1              
## [213] rpart_4.1-15                compiler_3.5.3